/**
 * 名称：触摸模型信息获取
 * 作用：记录触摸后获取到的模型位置信息
 * 负责人：朱小波
 */
let touchModelData = null

/**
 * 名称：点击模型信息获取
 * 作用：记录点击后获取到的模型位置信息
 * 负责人：朱小波
 */
let clickModelData = null

/**
 * 名称：模型切片数据
 * 作用：存储josn切片地址信息
 * 负责人：朱小波
 */
let jsonPath = {}

/**
 * 名称：返回数据结构
 * 作用：调用接口时返回给调用者的数据结构，包含状态与数据
 * 负责人：朱小波
 */
let bacjwaterData = [{ status: 500, data: new Map().set('错误信息', '没有找到对应信息') }, {
  status: 200,
  data: new Map()
}]

/**
 * 名称：全局点击事件
 * 作用：记录创建的点击事件，当需要使用的时候使用handlerGE.etInputAction的形式进行事件的调用，如：MOUSE_MOVE、LEFT_DOUBLE_CLICK、RIGHT_CLICK
 * 负责人：朱小波
 */
let handler = null
/**
 * 名称：全局viewer信息
 * 作用：记录创建的viewer信息，在后面的方法中使用
 * 负责人：朱小波
 */
let viewer = null
/**
 * 名称：全局3Dtiles的tileset信息
 * 作用：全局3Dtiles的tileset信息方便后期的使用
 * 负责人：朱小波
 */
let tileset = null
/**
 * 名称：全局3Dtiles的tileset数组信息
 * 作用：在创建3Dtile的时候记录一个或者多个tileset数据信息，在后面的方法中使用
 * 负责人：朱小波
 */
let globalTilesetArr = []
/**
 * 名称：全局3Dtiles的translation对象信息
 * 作用：全局3Dtiles的translation对象信息，在后面的方法中使用
 * 负责人：朱小波
 */
let translation = null
/**
 * 名称：全局3Dtiles的Translation对象信息
 * 作用：在创建3Dtile的时候记录一个或者多个Translation数据信息，在后面的方法中使用
 * 负责人：朱小波
 */
let globalTranslationArr = []

/**
 * 名称：测量功能全局变量
 * 作用：在测量功能中需要使用到的全局变量
 * 负责人：朱小波
 */
let tempEntities = []
let pointNum = 0
let floatingPoint = undefined
let activeShape = undefined
let measureType = null
//存储创建的测量信息,第一个点的数据不记录
let measurementStorageData = new Map()
// 全局数据长度,第一个点的数据不记录
let measurementLength = 0
// 全局测量类型
let measurementType = ''
// 记录点击的点，然后给与颜色
let recordMeasurementPoints = null
/**
 * 名称：剖切功能全局变量
 * 作用：在剖切功能中需要使用到的全局变量
 * 负责人：朱小波
 */
let flags = {
  // 剖切是否开启
  opened: false,
  // 是否选中剖面框
  selected: false
}
let leftDownFlag = false
//拖拽锚点
let dragedAnchor = null
// 拖拽中心点
let dragedCenter = null
//鼠标上一次移动的end点的对应的地形坐标
let prevPickPosition = null
// 裁剪目标
let clippingTargetArray = []
// 事件
let clippingHandler = null
// 剖面框
let clippingEntityArray = []
// 剖面框6个面的锚点
let anchorEntityArray = []
// 剖面框6个面的方向
const directions = ['front', 'behind', 'left', 'right', 'top', 'bottom']
// 颜色：默认、移动、选中
const colors = [Cesium.Color.WHITE, Cesium.Color.YELLOW, Cesium.Color.YELLOW.withAlpha(0.5)]
// 记录剖面框数据
let clipdata = {
  // 记录模型原点
  center: null,
  // 记录6个剖面中心点
  centers: [],
  // 记录6个剖面方向向量（含变换）
  normals: []
}
/**
 * 名称：实体点拖拽
 * 作用：在实体拖拽功能中需要使用到的全局变量
 * 负责人：朱小波
 */
let dragPointLeftDownFlag = false
let dragPointLpick = null//储存实体
/**
 * 名称：3Dtile剖切使用
 * 作用：在实体拖拽功能中需要使用到的全局变量
 * 负责人：朱小波
 */
let clippingPlanes = null
/**
 * 名称：储存所有的3Dtile创建数据
 * 作用：记录在创建时候生成的3Dtile对象数据
 * 负责人：朱小波
 */
let recordTilesetData = new Map()

/**
 * 名称：储存所有的3Dtile构件的属性数据
 * 作用：记录在创建时候生成的3Dtile构件属性数据
 * 负责人：刘洮君
 */
let all3dTilesArr = []
/**
 * 名称：储存所有的3Dtile构件对象
 * 作用：用来定位构件，以及构件涉及的颜色之类的属性更改
 * 负责人：刘洮君
 */
let all3dTilesObjArr = {}
/**
 * 名称：储存所有的3Dtile构件属性字段
 * 作用：作为下拉框下拉限定构件查询条件
 * 负责人：刘洮君
 */
let all3dTilesFieldNameArr = null
/**
 * 名称：读取的本地文件json 储存所有的3Dtile构件的坐标数据
 * 作用：主要是拿到坐标数据进行跳转
 * 负责人：刘洮君
 */
let all3dTilesPositionObj = {}

/**
 * 名称：记录图层数据
 * 作用：主要是拿到坐标数据进行跳转
 * 负责人：刘洮君
 */
let all3dTilesLayerData = []
